# 基础语法的练习


# 6种基本的数据类型
# 1 数字值
print(1)
# 2 布尔值
print(False)
print(True)
# 3字符串
print("hello python")

# python 字符串列表
a = "hello"
print(a)

# 数组
list = ["a", "b", "c"]
print(list)
list1 = ["字符串类型", "", 1, 2, 4, list, True]  # 列表中可以嵌套列表，字段，元组
print(list1)

# 元组
data = ["a", 1, list, True]
tupleName = tuple(data)
print(tupleName)

# set集合
sets = {8, 3, 5, 3, 6, 7, True, True, False}
print(sets)

# 字典
dic = {"one": 234, a: "abc"}
print(dic)

# 查看数据的类型
print(type(2))
print(type("hello"))

string_type = type("你好呀")
int_type = type(1)
float_type = type(11.25)
print(string_type)
print(int_type)
print(float_type)

# 字符串数字类型转换
print("------------------数据类型转换----------------")
v_str = "2"
num = int(v_str)
print(type(num))

# 将float类型转换为int
v_f = 5.23
fnums = int(v_f)
print(type(fnums))
print(fnums)

# 将int转换为float类型
v_int = 5
f_int = float(v_int)
print(type(f_int))
print(f_int)

print("----------标识符---------------")

print("----------算术运算-----------------")

print("1+1结果是: %d " % (1 + 1))
print("2-1结果是: %d" % (2 - 1))
print("1*3= %d" % (1 * 3))
print("9/3= %d" % (9 / 3))
print("9//2= %d" % (9 // 2))
print("9%%2= %d" % (9 % 2))
print("2的3次方= %d" % (2 ** 3))

print("--------赋值运算符-------------")
numbess = 1 + 2 * 3
print(numbess)

print("----------复合赋值运算符-------------")
c = 2
a = 3
# c+=a 等价于 c=c+a
c += a
print(c)
b = 5
d = 5
# b-=d 等价于 b=b-d
b -= d
print(b)

print("------------字符串定义三种定义格式---------------")
name = '单引号定义法'
print(name)
name = "双引号定义法"
print(name)
name = """三引号定义方式"""
print(name)

print("------------字符串拼接---------")
name = "程序员"
print("我是: " + name)

# 这个是错误的，不同的类型不能拼接
# set_up_year=23
# print(name + set_up_year)


print("----------字符串格式化----------")
# 为什么需要字符串格式化？ 原因有二:  其一 变量过多，拼接起来麻烦。其二： 字符串无法和数字或者其它类型完成拼接
name = "小明"
age = 18
salary = 5000.25
print("姓名: %s 年龄: %s 薪资: %f" % (name, age, salary))

print("--------字符串精度控制-----------------")

name = "小明"
age = 18
salary = 5000.25
print("姓名: %s 年龄: %s 薪资: %f" % (name, age, salary))
# 可以使用辅助符号 ”m.n“来控制数据的宽度和精度
# m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
# n,控制小数精度，要求是数字，会进行小数的四舍五入

numb1 = 11
numb2 = 253541.345
print("数字11宽度限制5,结果: %5d " % numb1)
print("数字11宽度限制1,结果：%1d " % numb1)
print("数字11.345宽度限制为7, 小数点精度为2 结果: %7.2f " % numb2)
print("数字11.345不宽度限制, 小数点精度为2 结果: %7.2f " % numb2)

print("---------字符串格式化-快速格式化----------")
name = "小明"
age = 18
salary = 5000.25
print(f"姓名:{name},年龄:{age} 薪资:{salary}")

print("--------------字符串格式化-表达式格式化----------")
print(" 1*1的结果是: %d " % (1 * 1))
print(f" 1*1的结果是: {1 * 1}")
print("字符串在python中的类型是: %s " % type('字符串'))

print("--------------数据输入input()语句----------------")
name=input("请告诉我你是谁? ")
print("get !!! 你是 %s " % name)
